package javaCode.chapter13.map_;

import java.util.Hashtable;

/**
 * @author 徐州城
 * @version 1.0
 */
@SuppressWarnings("all")
public class HashTableExercise {
    public static void main(String[] args) {
        Hashtable hashtable = new Hashtable();
        hashtable.put("john",100); //ok
        //hashtable.put(null,100); //异常
        //hashtable.put("john",null); //空指针异常
        hashtable.put("lucy",100); //ok
        hashtable.put("lic",88); //ok
        hashtable.put("lic",100); //替换
        hashtable.put("hello1",10);
        hashtable.put("hello2",10);
        hashtable.put("hello3",10);
        hashtable.put("hello4",10);
        hashtable.put("hello5",10);
        hashtable.put("hello6",10);

        //简单说明一下hashtable的底层
        //1. 底层有数组 Hashtable$Entry[] 初始化大小为 11
        //2. 临界值 threshold 8=11*0.75
        //3. 扩容：按照自己的扩容机制来进行即可
        //4. 执行 方法 addEntry(hash, key, value, index); 添加K-V 封装到Entry
        //5. 当 if(count >= threshold) 满足时，就进行扩容
        //6. 按照 int newCapacity = (oldCapacity << 1) + 1; 的大小扩容
    }
}
